
#include "QueueLinked.h"
#if LAB7_TEST1 == 1

template <typename DataType>
QueueLinked<DataType> :: QueueLinked(int maxNumber = Queue<DataType>::MAX_QUEUE_SIZE)
{

}

template <typename DataType>
QueueLinked<DataType> :: QueueLinked(const QueueLinked<DataType>& other)
{
}

template <typename DataType>
QueueLinked<DataType>& QueueLinked<DataType> :: operator=(const QueueLinked<DataType>& other)
{
   if (this == &other)
      return *this;

   return *this;
}

template <typename DataType>
QueueLinked<DataType> :: ~QueueLinked()
{
   clear();
}

template <typename DataType>
void QueueLinked<DataType> :: enqueue(const DataType& newDataItem) throw (logic_error)
{
   if (isFull())
      throw logic_error("Queue is full");
}

template <typename DataType>
DataType QueueLinked<DataType> :: dequeue() throw (logic_error)
{
   if (isEmpty())
      throw logic_error("Queue is empty");
}

template <typename DataType>
void QueueLinked<DataType> :: clear()
{
}

template <typename DataType>
bool QueueLinked<DataType> :: isEmpty() const
{
}

template <typename DataType>
bool QueueLinked<DataType> :: isFull() const
{
}

template <typename DataType>
void QueueLinked<DataType> :: putFront(const DataType& newDataItem) throw (logic_error)
{
   if (isFull())
      throw logic_error("Queue is full");
}

template <typename DataType>
DataType QueueLinked<DataType> :: getRear() throw (logic_error)
{
   if (isEmpty())
      throw logic_error("Queue is empty");
}

template <typename DataType>
int QueueLinked<DataType> :: getLength() const
{
}

template < typename  DataType >
void QueueLinked<DataType>:: showStructure () const

// Linked list implementation. Outputs the elements in a queue. If
// the queue is empty, outputs "Empty queue". This operation is
// intended for testing and debugging purposes only.

{
    QueueNode<DataType> *p;   // Iterates through the queue

    if ( isEmpty() )
	cout << "Empty queue" << endl;
    else
    {
	cout << "Front\t";
	for ( p = front ; p != 0 ; p = p->next )
	{
	    if( p == front ) 
	    {
		cout << '[' << p->dataItem << "] ";
	    }
	    else
	    {
		cout << p->dataItem << " ";
	    }
	}
	cout << "\trear" << endl;
    }
}

#endif // LAB7_TEST1